﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using iNet.Media.Imaging;

namespace iNet.Media
{
	/// <summary>
	/// 提供常用的影像格式。
	/// </summary>
	public static class ImageFormats
	{
		/// <summary>
		/// Windows Bitmap。
		/// </summary>
		public static readonly IImageFormat Bmp = new ImageFormat("Windows Bitmap", "image/bmp", new string[] { ".bmp", ".dib" });
		/// <summary>
		/// Canon Raw Digital Image File。
		/// </summary>
		public static readonly IImageFormat Cr2 = new ImageFormat("Canon Raw Digital Image File", "image/cr2", new string[] { ".cr2" }, true);
		/// <summary>
		/// Adobe Digital Negative。
		/// </summary>
		public static readonly IImageFormat Dng = new ImageFormat("Adobe Digital Negative", "image/x-adobe-dng", new string[] { ".dng" }, true);
		/// <summary>
		/// Graphics Interchange Format。
		/// </summary>
		public static readonly IImageFormat Gif = new ImageFormat("Graphics Interchange Format", "image/gif", new string[] { ".gif" });
		/// <summary>
		/// Microsoft Windows Icon File。
		/// </summary>
		public static readonly IImageFormat Ico = new ImageFormat("Microsoft Windows Icon File", "image/x-icon", new string[] { ".ico", ".cur" });
		/// <summary>
		/// JPEG。
		/// </summary>
		public static readonly IImageFormat Jpeg = new ImageFormat("JPEG", "image/jpeg", new string[] { ".jpg", ".jpeg", ".jpe", ".jfif", ".jfi", ".jif" });
		/// <summary>
		/// Nikon Electronic Format。
		/// </summary>
		public static readonly IImageFormat Nef = new ImageFormat("Nikon Electronic Format", "image/x-nikon-nef", new string[] { ".nef", ".nrw" }, true);
		/// <summary>
		/// Olympus Raw File。
		/// </summary>
		public static readonly IImageFormat Orf = new ImageFormat("Olympus Raw File", "image/x-olympus-orf", new string[] { ".orf" }, true);
		/// <summary>
		/// Pentax Raw Image File。
		/// </summary>
		public static readonly IImageFormat Pef = new ImageFormat("Nikon Raw Image File", "image/x-pentax-pef", new string[] { ".pef" }, true);
		/// <summary>
		/// Portable Network Graphics。
		/// </summary>
		public static readonly IImageFormat Png = new ImageFormat("Portable Network Graphics", "image/png", new string[] { ".png" });
		/// <summary>
		/// Panasonic Raw Image File。
		/// </summary>
		public static readonly IImageFormat Rw2 = new ImageFormat("Panasonic Raw Image File", "image/x-panasonic-rw2", new string[] { ".rw2" }, true);
		/// <summary>
		/// Sony Raw File。
		/// </summary>
		public static readonly IImageFormat Srf = new ImageFormat("Sony Raw File", new string[] { "image/x-sony-srf", "image/x-sony-sr2", "image/x-sony-arw" }, new string[] { ".srf", ".sr2", ".arw" }, true);
		/// <summary>
		/// Tagged Image File Format。
		/// </summary>
		public static readonly IImageFormat Tiff = new ImageFormat("Tagged Image File Format", "image/tiff", new string[] { ".tif", ".tiff" });
		/// <summary>
		/// Sigma Raw Image File。
		/// </summary>
		public static readonly IImageFormat X3f = new ImageFormat("Sigma Raw Image File", "image/x-sigma-x3f", new string[] { ".x3f" }, true);
	}
}
